
class Contenedor{
	int x, y, w, h, ID;
	boolean draggin;

	Contenedor(int _x, int _y, int _w, int _h, int _ID){
		x = _x;
		y = _y;
		w = _w;
		h = _h;
		ID = _ID;
		imprimir();
	}

	void imprimir(){
		if(draggin){
			x = mouseX-contenedoresW/2;
			y = mouseY-contenedoresH/2;
		}
		rect(x, y, w, h);

	}
}

Contenedor[] contenedor;
int cantidadContenedores, contenedoresW, contenedoresH, contenedorDraggin, i, proximo;


void setup(){
	size(500,400);

	rectMode(CORNER);
	cantidadContenedores=2;
	contenedoresW=50;
	contenedoresH=50;
	contenedor=new Contenedor[cantidadContenedores];

	for(int i=0; i<cantidadContenedores; i++){
		contenedor[i]=new Contenedor(100, 100, contenedoresW, contenedoresH, i);
	}

}

void draw(){

 	background(#FFFFFF);
	strokeWeight(1); 



	for(int i=0; i<cantidadContenedores; i++){

		contenedor[i].imprimir();

	}  
}
           
void mousePressed(){
	// buscamos objeto bajo el mouse
	for(int j=0; j<cantidadContenedores; j++){
		if( ((mouseX <= contenedor[j].x+contenedoresW) && ( mouseX >= contenedor[j].x)) 
		    &&
		    ((mouseY <= contenedor[j].y+contenedoresH) && ( mouseY >= contenedor[j].y))
		 ){
			contenedor[j].draggin=true;
			contenedorDraggin=j;
			j=cantidadContenedores;
			//print(contenedorDraggin);
		}
	}
}

void mouseReleased(){
	contenedor[contenedorDraggin].draggin=false;
	
}


